package com.star.uc.infras.repository.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.star.common.orm.contract.entity.BasePO;
import com.star.common.orm.annotation.BizKey;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

/**
 * 用户信息表(UserInfo)表实体类
 *
 * @author 周恒哲
 * @since 2023-10-18 14:21:51
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("user_info")
@EqualsAndHashCode(callSuper = true)
public class UserInfoPO extends BasePO {

    /**
     * 用户ID
     * @BizKey 业务主键
     */
    @BizKey
    @Schema(description = "用户ID")
    private String uid;
    /**
     * 昵称
     */
    @Schema(description = "昵称")
    private String nickName;
    /**
     * 真实姓名
     */
    @Schema(description = "真实姓名")
    private String realName;
    /**
     * 区域码
     */
    @Schema(description = "区域码")
    private String areaCode;
    /**
     * 状态
     *
     * @see com.star.uc.contract.enums.UserStatusEnum
     */
    @Schema(description = "状态")
    private Integer status;

    /**
     * 头像
     */
    @Schema(description = "头像")
    private String avatar;

    public static final String UID = "uid";
    public static final String NICK_NAME = "nick_name";
    public static final String REAL_NAME = "real_name";
    public static final String APPLICATION_ID = "application_id";
    public static final String AREA_CODE = "area_code";
    public static final String STATUS = "status";
    public static final String AVATAR = "avatar";
}

